package org.jeecg.modules.zcgl.entity;


import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.DelFlagBaseEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 微信用户付款订单详情信息
 * @Author: jeecg-boot
 * @Date:   2020-07-13
 * @Version: V1.0
 */
@ApiModel(value="zcgl_order对象", description="微信用户付款订单信息")
@Data
@TableName("zcgl_order_details")
public class OrderDetails extends DelFlagBaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**订单信息*/
    @ApiModelProperty(value = "订单信息")
    private String orderId;

    /**
     * 订单类型 1、支付，2、自动扣费，3、线下支付
     */
    @Excel(name = "订单类型", width = 15, dicCode = "zcgl_order_type")
    @ApiModelProperty(value = "订单类型")
    private Integer orderType;

    /**应收款信息*/
    @Excel(name = "应收款信息", width = 15)
    @ApiModelProperty(value = "应收款信息")
    private String receivablesId;

    /**合同信息*/
    @Excel(name = "合同信息", width = 15, dictTable = "zcgl_lease_contract_info", dicText = "contract_num", dicCode = "id")
    @Dict(dictTable = "zcgl_lease_contract_info", dicText = "contract_num", dicCode = "id")
    @ApiModelProperty(value = "合同信息")
    private String leaseContractId;
    /**资产信息*/
    @Excel(name = "资产信息", width = 15, dictTable = "zcgl_asset_info", dicText = "asset_name", dicCode = "id", pullDown = false)
    @Dict(dictTable = "zcgl_asset_info", dicText = "asset_name", dicCode = "id")
    @ApiModelProperty(value = "资产信息")
    private String assetId;
    /**资产明细*/
    @Excel(name = "资产明细", width = 15, dictTable = "zcgl_asset_info_sub", dicText = "room_name", dicCode = "id", pullDown = false)
    @Dict(dictTable = "zcgl_asset_info_sub", dicText = "room_name", dicCode = "id")
    @ApiModelProperty(value = "资产明细")
    private String assetSubIds;
    /**客户信息*/
    @Excel(name = "客户信息", width = 15, dictTable = "zcgl_customer_info", dicText = "CONCAT_WS( ';', `name`, phone )", dicCode = "id", pullDown = false)
    @Dict(dictTable = "zcgl_customer_info", dicText = "CONCAT_WS( ' ', `name`, phone )", dicCode = "id")
    @ApiModelProperty(value = "客户信息")
    private String customerId;
    /**款项说明*/
    @Excel(name = "款项说明", width = 15, dicCode = "payment_instructions")
    @Dict(dicCode = "payment_instructions")
    @ApiModelProperty(value = "款项说明")
    private Integer paymentInstructions;
    /**收款金额*/
    @Excel(name = "收款金额", width = 15)
    @ApiModelProperty(value = "收款金额")
    private BigDecimal amountMoney;
    //	/**支付状态*/
    //	@Excel(name = "支付状态", width = 15, dicCode = "pay_status")
    //	@Dict(dicCode = "pay_status")
    //	@ApiModelProperty(value = "支付状态")
    //	private Integer payStatus;
    /**支付状态: 默认10 待支付，20支付中，30支付成功，40支付取消，50支付失败*/
    @Excel(name = "支付状态: 默认10 待支付，20支付中，30支付成功，40支付取消，50支付失败", width = 15)
    @ApiModelProperty(value = "支付状态: 默认10 待支付，20支付中，30支付成功，40支付取消，50支付失败")
    private Integer payStatus;
    /**支付方式*/
    @Excel(name = "支付方式", width = 15, dicCode = "pay_type")
    @Dict(dicCode = "pay_type")
    @ApiModelProperty(value = "支付方式")
    private Integer payType;
    /**开始日期*/
    @Excel(name = "开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "开始日期")
    private Date startTime;
    /**结束日期*/
    @Excel(name = "结束日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结束日期")
    private Date endTime;
    /**付款时间*/
    @Excel(name = "付款时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "付款时间")
    private Date payDate;
    /**付款人*/
    @Excel(name = "付款人", width = 15, dictTable = "zcgl_customer_info", dicText = "CONCAT_WS( ';', `name`, phone )", dicCode = "id")
    @Dict(dictTable = "zcgl_customer_info", dicText = "CONCAT_WS( ' ', `name`, phone )", dicCode = "id")
    @ApiModelProperty(value = "付款人")
    private String paymentBy;
    /**
     * 入账公司
     */
    @Excel(name = "入账公司", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "入账公司")
    private String rentCompanyId;


    @Excel(name = "收款方名称", width = 15)
    @ApiModelProperty(value = "收款方名称")
    private String payeeName;

    @ApiModelProperty(value = "收款方账号")
    @Excel(name = "收款方账号", width = 15)
    private String payeeAccount;

    @ApiModelProperty(value = "收款方开户行")
    @Excel(name = "收款方开户行", width = 15)
    private String payeeBankDeposit;
}